// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import Vant from 'vant';
import 'vant/lib/index.css';
import '@/assets/css/index.css'
import 'lib-flexible/flexible'
import FastClick from 'fastclick'
import VideoPlayer from 'vue-video-player'
import vueAplayer from 'vue-aplayer'
require('video.js/dist/video-js.css')
require('vue-video-player/node_modules/video.js/dist/video-js.css')
FastClick.attach(document.body)
FastClick.prototype.focus = function (targetElement) {
  let length;
  if (targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') {
    length = targetElement.value.length;
    targetElement.focus();
    targetElement.setSelectionRange(length, length);
  } else {
    targetElement.focus();
  }
};
Vue.use(Vant);
Vue.config.productionTip = false
Vue.use(VideoPlayer)
Vue.use(vueAplayer)

FastClick.attach(document.body)
FastClick.prototype.focus = function (targetElement) {

  let length;
  if (targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') {
    length = targetElement.value.length;
    targetElement.focus();
    targetElement.setSelectionRange(length, length);
  } else {
    targetElement.focus();
  }
};
FastClick.prototype.click = function (targetElement) {
  console.log(targetElement)
};
Vue.use(Vant);
/***** name:localStorage的key* data:localStorage的Value* expire:localStorage的过期时间,默认是1天后过期****///设置缓存
Vue.prototype.localStorageSet = (name, data, expire = new Date().getTime() + expire * 60 * 60 * 1000) => {
  const obj = {
    data,
    expire
  };
  localStorage.setItem(name, JSON.stringify(obj));
};
// 判断进入接口
if (process.env.NODE_ENV === 'production') {
  console.log('生产环境');
} else if(process.env.NODE_ENV === 'testing') {
  console.log('测试环境');
} else if(process.env.NODE_ENV === 'pre-release') {
  console.log('预发布环境');
}else {
  console.log('开发环境');
}
//读取缓存
Vue.prototype.localStorageGet = name => {
  const storage = localStorage.getItem(name);
  const time = new Date().getTime();
  let result = '';
  if (storage) {
    const obj = JSON.parse(storage);
    if (time < obj.expire) {
      result = obj.data;
    } else {
      localStorage.removeItem(name);
    }
  }
  return result;
};

Vue.config.productionTip = false


Vue.directive('emotion', {
  bind: function (el, binding) {
    el.innerHTML = toEmotion(binding.value)
  }
})

// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18

Date.prototype.Format = function (fmt) { // author: meizz
  var o = {
    "M+": this.getMonth() + 1, // 月份
    "d+": this.getDate(), // 日
    "h+": this.getHours(), // 小时
    "m+": this.getMinutes(), // 分
    "s+": this.getSeconds(), // 秒
    "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
    "S": this.getMilliseconds() // 毫秒
  };
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
}
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: {
    App
  },
  template: '<App/>'
})
